#pragma once

#include <cstdint>
#include <string>
#include <vector>
#include <map>
#include <memory>
#include <iostream>

#include <boost/asio.hpp>

using std::string;
using std::vector;
using std::map;
using std::shared_ptr;
using std::make_shared;
using std::enable_shared_from_this;
namespace libzq
{
	static uint32_t KB = 1024;
	static uint32_t MB = 1024 * KB;

#define SINGLETON(cls) \
public: \
	static cls& instance() { static cls _instance; return _instance; }
}